// var i;
// var $loadingManager = require("./LoadingManager");
// var $uIManager = require("./UIManager");
// var $uIView = require("./UIView");
// var $guideControl = require("./GuideControl");
// var $ypNetMag = require("./0/YpNetMag");
// var $nodePoolMag = require("./NodePoolMag");
// var $moduleManager = require("./ModuleManager");
// var f = cc._decorator;
// var g = f.ccclass;
// var _ = (f.property, f.inspector);
// var y = (function(e) {
//     function t() {
//         return (null !== e && e.apply(this, arguments)) || this;
//     }
//     __extends(t, e);
//     t.prototype._show = function(e) {
//         var t = [];
//         for (var o = 1; o < arguments.length; o++) {
//             t[o - 1] = arguments[o];
//         }
//     };
//     t.prototype.onResetData = function() {
//         var e = this;
//         $loadingManager.LoadingMgr.show();
//         $ypNetMag.YpNetMag.cleanData(function() {
//             e.scheduleOnce(function() {
//                 if (window.tt) {
//                     window.tt && window.tt.restartMiniProgramSync ?
//                         window.tt.restartMiniProgramSync() :
//                         window.tt.exitMiniProgram({
//                             isFullExit: !0
//                         });
//                 } else {
//                     window.wx ?
//                         window.wx.restartMiniProgram() :
//                         cc.sys.isBrowser &&
//                         ($uIManager.default.closeAll(),
//                             $moduleManager.ModuleMgr.cleanModule(),
//                             $guideControl.GuideCtrl.cleanGuide(),
//                             $nodePoolMag.NodePoolMag.instance.clearAllNode(),
//                             cc.director.loadScene("entry"));
//                 }
//                 $loadingManager.LoadingMgr.hide();
//             }, 0.5);
//         });
//     };
//     t.prototype.onCloseView = function() {
//         this._close();
//     };
//     return __decorate([g], t);
// })($uIView.default);
// exports.default = y;


// import { LoadingMgrInstance } from './LoadingManager';
// import UIManager from './UIManager';
// import UIView from './UIView';
// import { GuideCtrlInstance } from './GuideControl';
// // import $ypNetMag from './0/YpNetMag';
// import { NodePoolMag } from './NodePoolMag';
// import { ModuleMgrInstance } from './ModuleManager';

// const { ccclass, property, inspector } = cc._decorator;

// /**
//  * @class t
//  * @desc 建议类名：ViewManager
//  */
// @ccclass
// export default class UI_GameDeBug extends UIView {
//     /**
//      * 建议方法名：show
//      * @desc 显示方法
//      * @param e 参数 e
//      * @param args 其他参数
//      */
//     protected _show(e: any, ...args: any[]): void {
//         // 方法逻辑尚未实现
//     }

//     /**
//      * 建议方法名：resetData
//      * @desc 重置数据
//      */
//     public onResetData(): void {
//         const self = this;
//         LoadingMgrInstance.show();
//         // $ypNetMag.YpNetMag.cleanData(() => {
//             self.scheduleOnce(() => {
//                 if (window["tt"]) {
//                     if (window["tt"].restartMiniProgramSync) {
//                         window["tt"].restartMiniProgramSync();
//                     } else {
//                         window["tt"].exitMiniProgram({ isFullExit: true });
//                     }
//                 } else if (window["wx"]) {
//                     window["wx"].restartMiniProgram();
//                 } else if (cc.sys.isBrowser) {
//                     UIManager.closeAll();
//                     ModuleMgrInstance.cleanModule();
//                     GuideCtrlInstance.cleanGuide();
//                     NodePoolMag.instance.clearAllNode();
//                     cc.director.loadScene('entry');
//                 }
//                 LoadingMgrInstance.hide();
//             }, 0.5);
//         // });
//     }

//     /**
//      * 建议方法名：closeView
//      * @desc 关闭视图
//      */
//     public onCloseView(): void {
//         this._close();
//     }
// }


import { LoadingMgr } from './LoadingManager';
import UIManager from './UIManager';
import UIViewBase from './UIView';
import { GuideCtrlInstance } from './GuideControl';
// import $ypNetMag from './0/YpNetMag';
import { NodePoolMag } from './NodePoolMag';
import { ModuleMgr } from './ModuleManager';

const { ccclass, property, inspector } = cc._decorator;

/**
 * @class t
 * @desc 建议类名：ViewManager
 */
@ccclass
export default class ViewGameDeBug extends UIViewBase {

    /**
     * 建议方法名：show
     * @desc 显示方法
     * @param event 参数 event
     * @param otherArgs 其他参数
     */
    protected _show(event: any, ...otherArgs: any[]): void {
        // 方法逻辑尚未实现
    }

    /**
     * 建议方法名：resetData
     * @desc 重置数据
     */
    public onResetData(): void {
        const self = this;
        LoadingMgr.show();
        // $ypNetMag.YpNetMag.cleanData(() => {
        self.scheduleOnce(() => {
            if (window["tt"]) {
                if (window["tt"].restartMiniProgramSync) {
                    window["tt"].restartMiniProgramSync();
                } else {
                    window["tt"].exitMiniProgram({ isFullExit: true });
                }
            } else if (window["wx"]) {
                window["wx"].restartMiniProgram();
            } else if (cc.sys.isBrowser) {
                UIManager.closeAllViews();
                ModuleMgr.clearAllModules();
                GuideCtrlInstance.clearGuide();
                NodePoolMag.instance.clearAllNodePools();
                cc.director.loadScene('entry');
            }
            LoadingMgr.hide();
        }, 0.5);
        // });
    }

    /**
     * 建议方法名：closeView
     * @desc 关闭视图
     */
    public onCloseView(): void {
        this._close();
    }
}